#############%%##%%%%%#%@@%@%#######%###%%##########################%
###########==%@@@@%%%%#%%@@%#############%%#%#######%###%###########%
##########+++*@@@@@@@@@@@@@+=**++++*+****#**#%######%###%###########%
++******++++++*%@@@@@@@@@@*++*******+**+*#*+#%%%%#######%###########%
****+++++++++++++*#%%%##*++++++******###**++#%%####################%%
########*++++++++++++++++++++++++*******+****#%##%##################%
##########++++**********++++++**#####*++*******##%%#################%
###########=+*************++*%@@@@@@@@%#+*****##%%%#################%
%########%%#############*#++%@@@@@@@@@@@#++####%#%%#################%
%##%######%################%%%%%%%%%%@@@#+*######%##################%
%###################%%%%%#%%###%######%%###%%%%#####################%
%####################%%###%%%%#######%#####%#%%#####################%
%###################################################################%
%######################%###################%#################%######%
%######################%#%##############%#################%#########%
%#####%#%##%#####%##%#################################%###%%######%#%
%########################%###########%#####################%######%#%
%#####################################################%###########%#%
%##################################%#%################%#############%
%#####################################################%###########%#%
%##########################%#%#%#####%#%##########################%#%
%########%%####%#####%%%###%%####%%####%########################%###%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@